home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1996 September & October / Amiga-CD 1996 #9-10.iso / demos / storm-c / stormc / stormc install-script < prev    next >
Encoding:
Text File  |  1996-07-01  |  11.7 KB  |  433 lines

  1. ; $VER: StormC-Demo V1.1 Install Version 1.06 (1.7.96)
  2. ; Installations-Script für StormC
  3. ; (c) 1996 HAAGE & PARTNER Computer GmbH
  4.  
  5. (complete 0)
  6.  
  7. ; Die Versionsnummer und das Erstellungs-Datum der hier installierten
  8. ; Versionen.
  9.  
  10. (set stcpp-version "1.1")
  11. (set stcpp-date "(25 Jun 96)")
  12.  
  13. ;====================================================================
  14. ; Initialisierungen
  15.  
  16.  
  17. (set @default-dest "")
  18.  
  19. (set os-version (/ (getversion) 65536))
  20. (set os-13 (< os-version 36))
  21. (set os-20 (>= os-version 36))
  22. (set os-21 (>= os-version 38))
  23.  
  24. (set totalmem (database "total-mem")) ; Diese schöne Funktion vereinfacht einiges
  25.  
  26. ; Die Pfadnamen der Programme, die vom Installations-Skript aufgerufen werden.
  27.  
  28. ;(set run-lha                "run RAM:Lhex x -a ")
  29. ;(set run-free                "run C/StormFree")
  30.  
  31. ; Die Pfadnamen der einzelnen Quell-Dateien.
  32.  
  33. (set #binsource             (tackon (pathonly @icon) "StormSYS"))    ; Hier stehen die Ausführbaren Programme
  34. (set #includesource         (tackon (pathonly @icon) "INCLUDE"))     ; Hier stehen die Includes
  35. (set #envsource            (tackon (pathonly @icon) "ENV"))            ; Die Voreinstellungen
  36. (set #libsource            (tackon (pathonly @icon) "LIB"))            ; Hier stehen die Bibliotheken
  37. (set #samplesource        (tackon (pathonly @icon) "Examples"))    ; Hier stehen die Demo-Sourcen
  38. (set #manualsource        (tackon (pathonly @icon) "MANUAL"))        ; Hier steht die Dokumentation
  39. (set #toolssource       (tackon (pathonly @icon) "TOOLS"))        ; Hier stehen die Tools
  40. (set #wizlibsource      (tackon (pathonly @icon) "LIBS/Wizard.library")) ; Die neuen Boopsi-Klassen
  41. (set source-Liesmich     (tackon (pathonly @icon) "Liesmich"))        ; Die Liesmich Datei 
  42. (set source-ikon        (tackon (pathonly @icon) "StormCPP.info"))    ; Das Programm-Piktogramm
  43.  
  44.  
  45. ;(set !auswahlhilfe
  46. ;    (cat "\nAuf Ihrer Festplatte befindet sich bereits eine Version "
  47. ;        "der Datei die installiert werden soll. \n\n"
  48. ;        "Wählen Sie \"Ja\", wenn Sie die alte Datei mit der neuen "
  49. ;        "überschreiben möchten. Anderenfalls wählen Sie bitte \"Nein\"!\n"))
  50.  
  51. (set #prp-copy-samples
  52.     "Kopiere die C und C++ Beispielprogramme")
  53. (set #hlp-copy-bin
  54.     "Anhand des Handbuches und der Beispiele können Sie sich sehr schnell in StormC einarbeiten")
  55. (set #prp-copy-env
  56.     "Kopiere die StormC Default-Piktogramme")
  57. (set #hlp-copy-env
  58.     "Die Piktogramme werden von der Projektverwaltung und vom Editor benötigt")
  59. (set #prp-copy-includes
  60.     "Kopiere die C++ Systemincludes")
  61. (set #hlp-copy-includes
  62.     "Die Includes werden vom Compiler-Preprozessor benötigt")
  63. (set #prp-copy-libs
  64.     "Kopiere die Linker-Bibliotheken")
  65. (set #hlp-copy-libs
  66.     "Die Bibliotheken werden vom Linker benötigt")
  67. (set #prp-copy-manual
  68.     "Kopiere die Dokumentation")
  69. (set #hlp-copy-manual
  70.     "Eine Amiga-Guide-Datei zu StormC")
  71. (set #prp-copy-bin
  72.     "Kopiere die Ausführbaren Dateien des Compilersystems")
  73. (set #hlp-copy-bin
  74.     "Bei der allerersten Installation sollten Sie auch alle Dateien kopieren")
  75. (set #prp-copy-tools
  76.     "Kopiere die Screen-Tools")
  77. (set #hlp-copy-tools
  78.     "Der Pubscreen-Manager zu StormC")
  79. (set #prp-copy-lib
  80.     "Kopiere die WIZARD-LIBRARY\n")
  81. (set #hlp-copy-lib
  82.     "Ohne das aktuelle Herzstück von StormWIZARD, funktioniert nichts!")
  83.  
  84. ; Die Dateigrößen
  85.  
  86. (set size-stormcpp            24000)
  87. (set size-stormc                432000)
  88. (set size-stormed                200000)
  89. (set size-stormshell              330000)
  90. (set size-stormrun            220000)
  91. (set size-stormasm            36000)
  92. (set size-stormpics            50000)
  93. (set size-stormlex            50000)
  94. (set size-libs                    350000)
  95. (set size-inlcudes            400000)
  96. (set size-demos                100000)
  97.  
  98. (set size-komplett    ( + size-stormrun size-stormasm size-stormcpp size-stormc size-stormed size-stormshell size-stormpics size-stormlex size-libs size-inlcudes size-demos))
  99.  
  100. ; ----------------------------- Prozeduren ------------------------------
  101.  
  102. (Procedure Make_Folder
  103.     (
  104.     (set folder (tackon folder "StormC"))
  105.     (if (= (exists folder) 0)
  106.        (
  107.        (makedir folder (infos))
  108.        )
  109.     ))
  110. )
  111.  
  112. ;=====================================================================================
  113. ; Beginn der Installation
  114. ;=====================================================================================
  115.  
  116. ; Eine kleine Einleitung, gefolgt vom Startbild des Installers.
  117.  
  118. (set act-user-level @user-level)
  119. (user 1)
  120.  
  121. (message (cat    "\nWillkommen bei der Installation der \n\n\"StormC-Demoversion "
  122.                      stcpp-version " vom "stcpp-date "\"!\n\n"
  123.                     "Dieses Skript kopiert die verschiedenen Dateien, "
  124.                     "aus denen sich das Compilersystem zusammensetzt, "
  125.                     "auf Ihre Festplatte.\n"))
  126.  
  127. (user act-user-level)
  128. (welcome)
  129.  
  130. (complete 5)
  131.  
  132. (set act-user-level @user-level)
  133. (user 1)
  134.  
  135.  
  136. ;    Alte Version prüfen und entsprechende Warnung ausgeben! **************************************************************
  137.  
  138. (set folder "WORK:StormC")
  139.  
  140. (if (exists "StormC:" (noreq))
  141.     (
  142.         (message (cat    "\nAuf Ihrer Festplatte befindet sich bereits eine\n"
  143.                         "Installation von StormC! Wählen Sie bitte die über-\n"
  144.                         "geordnete Schublade oder das jeweilige Laufwerk an,\n"
  145.                         "wenn Sie ihr altes System aktualisieren möchten!"))
  146.  
  147.     (set folder (getassign "STORMC"))
  148.     )
  149. )
  150.  
  151. (set cmpstr (getassign "STORMC"))
  152.  
  153. (user act-user-level)
  154.  
  155. (if (= @user-level 0)
  156.     (
  157.     (user 1)
  158.     (message (cat    "Im Einsteiger-Modus wird davon ausgegangen, daß Storm C auf "
  159.                         "einer Festplatte installiert wird, auf der noch mindestens "
  160.                         "ca. 5 MByte freier Speicherplatz verfügbar sind. Sie werden "
  161.                         "dazu im nächsten Fenster nach dem Namen der gewünschten "
  162.                         "Schublade gefragt.\n\n"
  163.                         "Alle weiteren Angaben werden dann vom Installations-Skript "
  164.                         "möglichst genau an Ihr System angepaßt."))))
  165.  
  166. (set ok 0)
  167. (while (not ok)
  168.     (set folder
  169.         (askdir
  170.             (prompt (cat "\n"
  171.                              "Auswahl des Pfades für die Compiler-Installation.\n"
  172.                              "Eine Schublade mit dem Namen StormC wird automatisch erzeugt!"))
  173.             (help (cat    "    Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
  174.                             "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
  175.                             "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
  176.                             "gekennzeichneten Einträge auswählen.\n"
  177.                             "    Typische sinnvolle Namen sind z.B. \"WORK:\", \"HD0:\" oder \"DH0:\"; "
  178.                             "nicht verwenden sollten Sie Namen wie \"DF0:\", \"DF1:\", "
  179.                             "\"DF2:\", \"DF3:\", \"RAD:\", \"RAM:\", \"System2.0:\", "
  180.                             "\"WB_2.x:\", \"System3.0:\" oder \"WB_3.x:\"!"
  181.                             "\n\n"
  182.                             "Storm C kann nur in eine Schublade nicht aber auf eine "
  183.                             "Partition direkt installiert werden! Wenn Sie also nur ein Laufwerk "
  184.                             "für die Installation auswählen, wird Ihnen eine Fehlermeldung angezeigt!\n\n"
  185.                             @askdir-help))
  186.             (default folder)
  187.             (disk)
  188.         )
  189.     )
  190.  
  191.    (Make_Folder)    ; // Automatisch neues Verzeichnis anlegen!
  192.  
  193.     ; Ist der Dateiname leer oder endet mit einem ':' oder existiert unter
  194.     ; diesem Namen kein Verzeichnis, wird eine Fehlermeldung angezeigt; andernfalls
  195.     ; kann die Auswahl-Schleife beendet werden.
  196.     (if (or (or (or (<= (strlen folder) 0) (= (substr folder (- (strlen folder) 1) 1) ":")) (= (exists folder (noreq)) 0)) (= (getdiskspace folder) -1))
  197.         (message (cat    "\nBei Ihrer Auswahl \"" folder "\" handelt es sich nicht um "
  198.                             "eine gültige Schublade!\n\n"
  199.                             "Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
  200.                             "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
  201.                             "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
  202.                             "gekennzeichneten Einträge auswählen.\n"
  203.                             "Über den Schalter \"Neue Schublade anlegen...\" können Sie ein neue "
  204.                                "Schublade erzeugen. Diese neue Schublade\nwird auf der Partition "
  205.                                "angelegt, die Sie soeben betrachten."))
  206.         ;else
  207.         (
  208.             (set freediskspace (getdiskspace folder))    ; Der freie Speicher auf diesem Medium
  209.  
  210.             (if (< freediskspace size-komplett)
  211.                 (
  212.                 (user 1)
  213.                 (message (cat    "\nAuf der ausgewählten Festplattenpartition "
  214.                                             "steht nicht genügend freier Speicher für die "
  215.                                             "komplette Installation des Compilersystems zur Verfügung.\n\n"
  216.                                             "Freier Speicher " freediskspace "!\n"
  217.                                             "Benötigter Speicher " size-komplett "!\n\n"
  218.                                             "Bitte wählen Sie eine andere Partition, auf "
  219.                                             "der entsprechende Kapazitäten vorhanden sind!"))                
  220.                 )
  221.             ;else
  222.             (set ok 1)
  223.             )
  224.         )
  225.     )
  226. )
  227.  
  228. (makeassign "STORMC")
  229.  
  230. (user act-user-level)
  231.  
  232. (set @default-dest folder)    ; Die Zuweisung ist sehr wichtig!
  233.  
  234. (set destbin    (tackon folder "StormSYS"))
  235. (if                                          ; Compiler-Verzeichnis erzeugen
  236.     (= (exists destbin) 0)
  237.     (makedir destbin (infos))
  238. )
  239.  
  240. (set destdemo    (tackon folder "Examples"))
  241. (if                                          ; Demo-Verzeichnis erzeugen
  242.     (= (exists destdemo) 0)
  243.     (makedir destdemo (infos))
  244. )
  245. (set destinclude (tackon folder "Include"))
  246. (if                                          ; Includes-Verzeichnis erzeugen
  247.     (= (exists destinclude) 0)
  248.     (makedir destinclude)
  249. )
  250.  
  251. (set destlib    (tackon folder "Lib"))
  252. (if                                          ; Libraries-Verzeichnis erzeugen
  253.     (= (exists destlib) 0)
  254.     (makedir destlib)
  255. )
  256.  
  257. (set destmanual    (tackon folder "Manual"))
  258. (if                                          ; Dokumentations-Verzeichnis erzeugen
  259.     (= (exists destmanual) 0)
  260.     (makedir destmanual (infos))
  261. )
  262.  
  263. (set desttools    (tackon folder "Tools"))
  264.  
  265. (if                                          ; Tools-Verzeichnis erzeugen
  266.  
  267.     (= (exists desttools) 0)
  268.  
  269.     (makedir desttools (infos))
  270.  
  271. )
  272.  
  273.  
  274. (complete 5)
  275.  
  276. ; Liesmich Datei auf Festplatte kopieren!
  277.  
  278. (copyfiles
  279.     (source source-Liesmich)
  280.     (dest folder)
  281.     (infos)
  282. )
  283.  
  284. (complete 8)
  285.  
  286. (set morerunpath "run C/More Liesmich")
  287.  
  288. (run morerunpath)    ; Liesmich laden
  289.  
  290. (complete 10)
  291.  
  292. (set destinfo    (tackon folder "StormCPP.info"))
  293. (if                                          ; Projekt-Ikon erzeugen
  294.     (= (exists destinfo) 0)
  295.     (copyfiles
  296.         (source source-ikon)
  297.         (dest folder)
  298.     )
  299. )
  300.  
  301. (complete 15)
  302.  
  303. (copyfiles                                            ; Beispiele kopieren
  304.     (prompt #prp-copy-samples)
  305.     (help #hlp-copy-samples)
  306.     (source #samplesource)
  307.     (dest destdemo)
  308.     (all)
  309.     (confirm)
  310. )
  311.  
  312. (complete 20)
  313.  
  314. (copyfiles                                            ; Settings kopieren
  315.     (prompt #prp-copy-env)
  316.     (help #hlp-copy-env)
  317.     (source #envsource)
  318.     (dest "ENVARC:")
  319.     (all)
  320.     (confirm)
  321. )
  322.  
  323. (complete 22)
  324.  
  325. (copyfiles                                            ; Settings kopieren
  326.     (prompt #prp-copy-env)
  327.     (help #hlp-copy-env)
  328.     (source #envsource)
  329.     (dest "ENV:")
  330.     (all)
  331.     (confirm)
  332. )
  333.  
  334. (complete 25)
  335.  
  336. (copyfiles                                            ; Compiler kopieren
  337.     (prompt #prp-copy-bin)
  338.     (help #hlp-copy-bin)
  339.     (source #binsource)
  340.     (dest destbin)
  341.     (all)
  342.     (confirm)
  343. )
  344.  
  345. (complete 40)
  346.  
  347. (copyfiles                                            ; Includes kopieren
  348.     (prompt #prp-copy-includes)
  349.     (help #hlp-copy-includes)
  350.     (source #includesource)
  351.     (dest destinclude)
  352.     (all)
  353.     (confirm)
  354. )
  355.  
  356. (complete 60)
  357.  
  358. (copyfiles                                            ; Libs kopieren
  359.     (prompt #prp-copy-libs)
  360.     (help #hlp-copy-libs)
  361.     (source #libsource)
  362.     (dest destlib)
  363.     (all)
  364.     (confirm)
  365. )
  366.  
  367. (complete 80)
  368.  
  369. (copyfiles                                            ; Manual kopieren
  370.     (prompt #prp-copy-manual)
  371.     (help #hlp-copy-manual)
  372.     (source #manualsource)
  373.     (dest destmanual)
  374.     (all)
  375.     (confirm)
  376. )
  377.  
  378. (complete 90)
  379.  
  380.  
  381. (copyfiles                                            ; Tools kopieren
  382.     (prompt #prp-copy-tools)
  383.     (help #hlp-copy-tools)
  384.     (source #toolssource)
  385.     (dest desttools)
  386.     (all)
  387.     (confirm)
  388. )
  389.  
  390. (complete 92)
  391.  
  392. (copylib                                            ; Wizard.Library kopieren
  393.     (prompt #prp-copy-lib)
  394.     (help #hlp-copy-lib)
  395.     (source #wizlibsource)
  396.     (dest "LIBS:")
  397.     (confirm)
  398. )
  399. (complete 95)
  400.  
  401.  
  402. ; ------- STARTUP ÄNDERN
  403.  
  404. (set command1 (cat  "ASSIGN STORMC: " folder ""))
  405.  
  406. (set command1.txt
  407.     (cat 
  408.          "\n\n\nUm mit StromC richtig arbeiten zu "
  409.       "können muß eine Änderung an der User-Startup vorgenommen werden.\n\n"
  410.          command1
  411.     )
  412. )
  413.  
  414. (startup "StormC"
  415.     (prompt command1.txt)
  416.     (help #help-startup)
  417.     (command command1)
  418. )
  419.  
  420. (makeassign "STORMC")
  421. (makeassign "STORMC" folder)
  422.  
  423. (delete "RAM:LHex")
  424. (complete 100)
  425.  
  426. ; ------- FERTIG
  427.  
  428. (message (cat 
  429.     "\nInstallation des StormC Compilers beendet.\n"
  430.    "Falls die Zeilen:\n" command1 "\nnicht in Ihre Startup-Sequence bzw. "
  431.    "User-Startup eingefügt wurde, dann holen Sie dies bitte nach.\n\n"
  432.    "\n\nWir wünschen ihnen viel Erfolg bei der Lösung Ihrer Programmieraufgaben!")
  433. )